home *** CD-ROM | disk | FTP | other *** search
/ Aminet 32 / Aminet 32 (1999)(Schatztruhe)[!][Aug 1999].iso / Aminet / dev / lang / Python152_Src.lha / Python152_Source / Amiga_Misc / testset / test_links.py < prev    next >
Text File  |  1998-10-31  |  2KB  |  96 lines

  1.  
  2. import os
  3.  
  4. TestError = 'FAILED --- link test'
  5.  
  6. def test(a,b):
  7.     if a!=b: raise TestError
  8.  
  9. def test_fail(e):
  10.     global fail
  11.     if fail!=e:
  12.         raise TestError,'found err: '+`fail`+' wanted: '+`e`
  13.  
  14.  
  15. def remove_files():
  16.  try:
  17.     os.system("delete >NIL: t:#? all quiet force")
  18.     os.unlink("ram:t_hard")
  19.     os.unlink("ram:t_soft")
  20.     os.unlink("ram:dir_soft")
  21.     os.unlink("ram:dir_hard")
  22.  except os.error: pass
  23.  
  24. if os.getuid()!=0:
  25.     print "Sorry you are not logged in as root. This script cannot perform all link tests. Log in as root and try again."
  26.     raise SystemExit,10
  27.  
  28. remove_files()
  29.  
  30. print 'TESTING ISXXX & LINK FUNCTIONS...'
  31. os.link("ram:t","ram:t_hard")
  32. os.symlink("ram:t","ram:t_soft")
  33. os.symlink("c:dir","ram:dir_soft")
  34. fail=0
  35. try: os.link("c:dir","ram:dir_hard")
  36. except os.error,e: fail=e[0]
  37. test_fail(22)    # invalid argument
  38. test(os.path.isdir("ram:t"), 1)
  39. test(os.path.isdir("ram:t_hard"),1)
  40. test(os.path.isdir("ram:t_soft"),1)
  41. test(os.path.isdir("ram:dir_soft"),0)
  42. test(os.path.isfile("ram:dir_soft"),1)
  43. test(os.path.isfile("ram:t_hard"),0)
  44. test(os.path.islink("ram:t_hard"),0)
  45. test(os.path.islink("ram:t_soft"),1)
  46. test(os.path.islink("ram:dir_soft"),1)
  47. test(os.path.islink("ram:dir_sof"),0)
  48.  
  49. print 'TESTING MKDIR & CIRCULAR LINKS...'
  50. fail=0
  51. try: os.mkdir("ram:dir_soft/foo",0644)
  52. except os.error,e: fail=e[0]
  53. test_fail(22)    # invalid argument
  54. os.mkdir("ram:t_soft/foo",0644)
  55. os.mkdir("ram:t_soft/bar",0000)
  56. os.mkdir("ram:t_soft/foo2",0700)
  57. os.mkdir("ram:t_soft/foo/bar",0070)
  58. os.mkdir("ram:t_soft/foo/bar2",0007)
  59. os.mkdir("ram:t_soft/foo/bar3",0777)
  60. os.symlink("c:dir","ram:t_soft/foo/bar2/dir_soft")
  61. os.symlink("c:dir","ram:t_soft/foo/bar2/dir_soft2")
  62. fail=0
  63. try: os.link("ram:t","ram:t_soft/foo/bar2/t_hard")
  64. except os.error,e: fail=e[0]
  65. test_fail(62)    # ELOOP
  66.  
  67. fail=0
  68. try: os.symlink("ram:t","ram:t_soft/foo/bar2/t_soft")
  69. except os.error,e: fail=e[0]
  70. test_fail(62)    # ELOOP
  71.  
  72. print 'TESTING READLINK...'
  73. fail=0
  74. try: os.readlink("ram:dir_sof")
  75. except os.error,e: fail=e[0]
  76. test_fail(2)    # no such file or dir
  77. test(os.readlink("ram:dir_soft"),"c:dir")
  78. test(os.readlink("ram:t_soft"),"ram:t")
  79. fail=0
  80. try: os.readlink("ram:t")
  81. except os.error,e: fail=e[0]
  82. test_fail(22)    # invalid argument
  83. fail=0
  84. try: os.readlink("ram:t_hard"),"error!!"
  85. except os.error,e: fail=e[0]
  86. test_fail(22)    # invalid argument
  87. test(os.readlink("ram:t_soft"),"ram:t")
  88. fail=0
  89. try: os.readlink("c:dir")
  90. except os.error,e: fail=e[0]
  91. test_fail(22)    # invalid argument
  92.  
  93. remove_files()
  94.  
  95. print 'LINK TEST OK'
  96.